#include <iostream>

using namespace std;




//class A
//{
//public:
//	virtual A* print()
//	{
//		cout << "class A" << endl;
//		return this;
//	}
//};
//
//class B : public A
//{
// 
// public:
//	virtual B* print()
//	{
//		cout << "class B" << endl;
//		return this;
//	}
//};


//class A
//{
//public:
//	virtual void print()
//	{
//		cout << "class A" << endl;
//	}
//	virtual ~A()
//	{
//		cout << " ~A() " << endl;
//	}
//};
//
//class B : public A
//{
//
//public:
//	void print()
//	{
//		cout << "class B" << endl;
//	}
//	virtual ~B()
//	{
//		cout << " ~B() " << endl;
//	}
//};
//
//void func1()
//{
//	A aa;
//	B bb;
//	A* ap = &aa;
//	A* bp = &bb;
//	ap->print();
//	bp->print();
//}
//
//void func2()
//{
//	A aa;
//	B bb;
//	A& ap = aa;
//	A& bp = bb;
//	ap.print();
//	bp.print();
//}
//


//class	A
//{
//public:
//	virtual ~A()
//	{
//		cout << " ~A() " << endl;
//	}
//};
//
//class B : public A
//{
//
//public:
//	virtual ~B()
//	{
//		cout << " ~B() " << endl;
//	}
//};
//
//void func3()
//{
//	A* ap = new A;
//	A* bp = new B;
//	delete ap;
//	delete bp;
//}


//--------------------------------------------------------

//class A
//{
//public:
//	virtual void print(int ret = 100)
//	{
//		cout << ret << endl;
//	}
//};
//
//class B : public A
//{
//
//public:
//	virtual void print(int ret = 1000)
//	{
//		cout << ret << endl;
//	}
//};
//
//
//int main()
//{
//	B bb;
//	A* bp = &bb;
//	bp->print();
//
//	return 0;
//}


//-----------------------------------------------------

//class A
//{
//public:
//	virtual void print()
//	{}
//private:
//	int _a;
//};

//class A
//{
//public:
//	virtual void func1(){}
//	virtual void func2(){}
//	void func3(){}
//private:
//	int _a;
//};
//
//class B : public A
//{
//public:
//	virtual void func1(){}
//private:
//	int _b;
//};
//
//int main()
//{
//	A aa;
//	B bb;
//	return 0;
//}

class A
{
public:
	int _a = 1;
};

class B 
{
 
 public:
	 int _b = -1;
};

class C : public A, public  B
{
public:
	int _c = 0;
};

int main()
{
	C cc;
	A* ap = &cc;
	B* bp = &cc;
	C* cp = &cc;
	cout << ap << " " << bp << " " << cp << endl;
	return 0;

}
